Systems, methods, and apparatus for network architecture with video hardware basis

ABSTRACT

Disclosed are systems, methods, and apparatus for communicating hardware generated video between two or more devices. The devices can operate to mimic chance interactions, or “stop-and-chats,” that normally occur when two or more persons are living together or otherwise in the same locations. For example, each computer or circuit can determine whether a person is proximate to the computer. If two persons that designate each other as connections are simultaneously proximate to their respective devices, a video hardware connection will be created between their computers. Furthermore, respective circuitry can be connected to a third device associated with a person who is proximate to their respective device and also indicated as a connection by both of the two persons who are already connected. A video hardware connection can disconnect when one person participating in the video is no longer proximate to their respective device.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to systems, methods, andapparatus for providing a network from video hardware availability.Specifically, the embodiments discussed herein relate to automaticallyestablishing networks based on one or more video hardware connections.

BACKGROUND

Networking device hardware can be time consuming depending on theavailability of users and the types of device hardware. Oftentimes,users may avoid real-time telephone communications because attempts atestablishing such communications may not always result in a connection.For example, placing a phone call to a person who is not available maynot result in a channel of communication between two persons. Therefore,the time and energy spent placing the phone call would be wasted.

SUMMARY

The present disclosure provides systems, methods, and apparatus formimicking interpersonal communications between multiple persons. In someembodiments, an apparatus is set forth. The apparatus can include: anetwork interface configured to receive video data from a computer overa network connection between the computer and the network interface. Theapparatus can also include a first sensor configured to provide a sensorsignal based on a first environmental change affecting the first sensor.Additionally, the apparatus can include a processor connected to thefirst sensor and the network interface, the processor can be configuredto: cause the network interface to connect with the computer over thenetwork connection when (i) the first environmental change is affectingthe first sensor, and/or (ii) a second environmental change issimultaneously affecting a second sensor that is connected to thecomputer.

In some embodiments, the first sensor is a motion detecting sensor(e.g., a camera) and the first environmental change is associated with amovement of a user relative to the first sensor. The processor can befurther configured to identify image data corresponding to physicaltraits of a user, the image data being based on the sensor signal fromthe first sensor. The processor can be further configured to cause thenetwork interface to connect with the computer over the networkconnection after the processor identifies the physical traits of theuser.

The apparatus can also include a display panel and the processor can beconfigured to cause the display panel to enter a wake state from a sleepstate when: (i) the first environmental change is affecting the firstsensor, and/or (ii) a second environmental change is simultaneouslyaffecting a second sensor that is connected to the computer. Theprocessor can be further configured to receive an indication that thecomputer is requesting permission to connect a second computer to thenetwork interface, and cause the network interface to simultaneouslyconnect with the computer and the second computer. The processor can beconfigured to create a voice message in the memory using a microphonesignal from a microphone of the apparatus, and cause the networkinterface to transmit the voice message to the computer when a thirdenvironmental change is simultaneously affecting the second sensor thatis connected to the computer.

In other embodiments, a non-transitory computer-readable medium is setforth. The non-transitory computer-readable medium can storeinstructions that when executed by one or more processors of a firstcomputing device, cause the first computing device to perform steps thatinclude: determining, using on a sensor signal from a sensor of thefirst computing device, that a first user is proximate to the firstcomputing device. The steps can also include receiving, at a networkinterface of the first computing device, an indication that a seconduser is proximate to a second computing device that is in communicationwith the first computing device. Additionally, the steps can includecausing a display device of the first computing device to transitionfrom a sleep mode to an on mode, and causing a video communicationschannel to be created for sharing video data between the first computingdevice and the second computing device.

In some embodiments, the steps can further include receiving scheduledata, wherein the schedule data defines a period of time when the videodata can be shared over the video communications channel. The steps canalso include, when the computing device is not operating in the periodof time and in response to the first user becoming proximate to thecomputing device, receiving a video message from the second computingdevice. The steps can also include determining, using the sensor signalfrom the sensor, whether the user is located at a first side of thedisplay device or a second side of the display device, wherein the firstside is opposite the second side and the display device is an at leastpartially transparent display panel. The steps can also include causingimage frames to be displayed at the display device according to whetherthe user is located at the first side of the display device or thesecond side of the display device.

In yet other embodiments a method is set forth for connecting a firstcomputing device to a second computing device through a networkconnection when motions are simultaneously detected by the firstcomputing device and the second computing device. The method can beperformed by the first computing device and include a step of connectingto a video communications channel between the first computing device andthe second computing device when each of a first sensor of the firstcomputing device and a second sensor of the second computing devicesimultaneously detect an environmental change occurring at each of thefirst sensor and the second sensor, respectively. In some embodiments,the first sensor is a video camera and the environmental change ismotion that occurs in a field of view where the video camera is facing.The method can also include steps of: storing an editable contact listthat is configured to include entries that identify the second computingdevice and a third computing device; receiving an indication that athird sensor of the third computing device has detected an environmentalchange; and creating a video communications channel between the firstcomputing device and the third computing device, wherein the firstcomputing device simultaneously shares video data with the secondcomputing device and the third computing device. The method can alsoinclude a step of receiving a request to add an entry to a contact liststored by the first computing device, the entry corresponding to acontact name stored by the second computing device. In some embodiment,the first computing device can include a wireless transmitter forconnecting to an auxiliary device associated with a user of the firstcomputing device, and the method steps can further include: increasing asampling rate of the first sensor in response to the auxiliary deviceconnecting to the wireless transmitter. In some embodiment, the firstcomputing device can include a wireless transmitter for connecting to awireless network, and the method steps can further include: increasing asampling rate of the first sensor when an auxiliary device, associatedwith a user of the first computing device, is connected to the wirelessnetwork. In some embodiments, the first computing device can include awireless transmitter for connecting to a wireless network, and themethod steps can further include: increasing a sampling rate of thefirst sensor when an auxiliary device, associated with a user of thefirst computing device, is connected to the wireless network. In someembodiments, the first computing device can include an at leastpartially transparent display panel, and the steps further include:decreasing a transparency of the display panel when video data istransmitted over the video communications channel. In some embodiments,the first computing device can include an at least partially transparentdisplay panel such that light can at least partially traverse a width ofthe first computing device, and the method steps can further include:modifying an orientation of video data displayed at the at leastpartially transparent display panel according to a perceived location ofthe first user relative to the at least partially transparent displaypanel.

Other systems, devices, methods, features, and advantages will be orbecome apparent to one with skill in the art upon examination of thefollowing drawings and detailed description. It is intended that allsuch additional systems, methods, features, and advantages be includedwithin this description, be within the scope of the present disclosure,and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. The components in the drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the present disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 illustrates steps for initiating a chat session between a firstuser and a second user, according to some embodiments.

FIG. 2 illustrates data that can be stored by a computing device thatparticipates in chat sessions, according to some embodiments.

FIG. 3 illustrates a user privacy preferences table that can be employedby any of the embodiments discussed herein.

FIG. 4 illustrates a diagram for providing a peer to peer connectionbetween computing devices for conducting a chat session between thecomputing devices, according to some embodiments.

FIG. 5 illustrates a connection between computing devices using a serverto conduct a chat session between the computing devices, according tosome embodiments.

FIG. 6 illustrates a method for creating a video chat session between atleast two computing devices, according to some embodiments, according tosome embodiments.

FIG. 7 illustrates a method for connecting a first computing device anda second computing device, according to some embodiments.

FIG. 8 illustrates a method for meeting a new contact through athree-way chat session and amending a contact list to include the newcontact, according to some embodiments.

FIG. 9 illustrates a method for participating in a combined chat sessionbetween three or more computing devices, according to some embodiments.

FIG. 10 illustrates a method for participating in a chat session basedon a privacy preference associated with a contact user participating inthe chat session, according to some embodiments.

FIG. 11 is a block diagram of a computing device that can represent thecomponents of the computing device, apparatus, mobile device, or any ofthe devices or apparatus discussed herein.

DETAILED DESCRIPTION

Representative applications of methods and apparatus according to thepresent application are described in this section. These examples arebeing provided solely to add context and aid in the understanding of thedescribed embodiments. It will thus be apparent to one skilled in theart that the described embodiments may be practiced without some or allof these specific details. In other instances, well known process stepshave not been described in detail in order to avoid unnecessarilyobscuring the described embodiments. Other applications are possible,such that the following examples should not be taken as limiting.

In the following detailed description, references are made to theaccompanying drawings, which form a part of the description and in whichare shown, by way of illustration, specific embodiments in accordancewith the described embodiments. Although these embodiments are describedin sufficient detail to enable one skilled in the art to practice thedescribed embodiments, it is understood that these examples are notlimiting; such that other embodiments may be used, and changes may bemade without departing from the spirit and scope of the describedembodiments.

Reference is now made in detail to the description of the embodiments asillustrated in the drawings. While several embodiments are described inconnection with these drawings, there is no intent to limit thedisclosure to the embodiment or embodiments disclosed herein. On thecontrary, the intent is to cover all alternatives, modifications, andequivalents.

Many mobile devices include calling features for conducting audio callswith another person. Typically the calling features require that aperson open an application for initiating an audio call, identify thecontact who is to be called, then confirm that the call is to beinitiated. Interpersonal communications are very different because thereare no steps that require a person to first open an application andchoose a contact to talk to. Rather, many interpersonal communicationscome about when two persons become proximate to one another and at leastone of the persons initiates a conversation. The systems, methods, andapparatus described herein are set forth as ways for mimickinginterpersonal interactions using computing devices, as well as buildingsocial networks using such computing devices.

The computing devices can include a network interface for connecting toother affiliated computing devices over one or more network connections,as well as a video camera for collecting video data that can be sentover the network connections to the affiliated computing devices. Thevideo camera, or other sensors on the computing device, can be used tocollect data for performing motion detection, facial recognition, voicerecognition, or any other suitable person-identification or biometricalgorithm. When the computing device detects that a user is proximate tothe computing device, or otherwise available for participating in avideo chat session with an affiliated computing device, the computingdevice can send an indication to the affiliated computing device. Theindication will notify the affiliated computing device that the user isavailable for participation in a video chat session.

Each computing device can store a list of contacts that include at leastone entry that identifies a user associated with an affiliated computingdevice. The affiliated computing device is therefore “affiliated” withthe computing device based at least on the inclusion of the entry in thecontact list. The affiliated computing device can also include one ormore sensors (e.g., microphone, camera, touch sensor, heat sensor,and/or antenna for detecting auxiliary devices on a user's person) fordetecting motion and/or collecting data for performingpersonal-identification or biometric algorithms. The affiliatedcomputing device can also include a contact list that includes an entrythat identifies a user associated with another computing device.

A video communications channel between computing devices can beinitiated when two or more users that identify each other in theircontact list are simultaneously present near their respective computingdevice. For example, a first computing device operated by a first usercan include a first contact list that identifies a second user. Thesecond user can operate a second computing device that includes a secondcontact list having an entry that identifies the first user. When afirst computing device determines that a first user is proximate to thefirst computing device, the first computing device can send a firstindication to a second computing device. The first indication notifiesthe second computing device that the first user is proximate to thefirst computing device. If the second computing device determines that asecond user is proximate to the second computing device, the secondcomputing device can send a second indication to the first computingdevice. The second indication notifies the first computing device thatthe second user is proximate to the first computing device. Thereafter,a video communications channel can be created between the firstcomputing device and the second computing device. The videocommunications channel allows for a video session between the first userand the second user. During the video session, a microphone, a videocamera, and a display panel of each of the first computing device andthe second device will allow the first user and the second user tocommunicate with each other.

In some embodiments, the computing device can perform facial recognitionin order to identify the user that is proximate to the computing device.Facial recognition can be performed by identifying facial features inimage data derived from the video camera of the computing device andcomparing the facial features to facial recognition data and/orperceived data stored by the computing device. By distinguishing betweendifferent users, the computing device is able to operate differentlyaccording to which user is proximate to the computing device. Forexample, the computing device can store a different contact list foreach user. Furthermore, the computing device can operate according todifferent schedules that are associated with different users.Furthermore, the computing device can use different privacy settingdepending on which user is detected by the computing device.

In some embodiments, the computing device can perform voice recognitionin order to identify the user that is proximate to the computing device.Voice recognition can be performed by identifying one or morevocalizations in audio data derived from a microphone of the computingdevice and comparing the vocalizations to voice recognition data storedby the computing device. Vocalizations can include frequency signatures,amplitude variations, speed, accent, pronunciation, articulation,roughness, nasality, tone, and/or pitch. By distinguishing betweendifferent users, the computing device is able to operate differentlyaccording to which user is speaking near the computing device. Forexample, the computing device can store a different contact list foreach user. When a particular user is talking near the computing device,that particular user's contact list can be used for creating a videocommunications channel with another computing device associated withanother user on the particular user's contact list. Furthermore, thecomputing device can operate according to different schedules that areassociated with different users. Therefore, when a particular user istalking near the computing device, that particular user's schedule canbe used to determine whether that particular has granted permission tocreate a video communications channel during the present or a futuretime period.

In some embodiments, the computing device can recognize an auxiliarydevice as a way of recognizing the presence of a user. For example, thecomputing device can include a near-field receiver (e.g., Bluetoothreceiver) for connecting with an auxiliary device such as a cellularphone, or otherwise receiving a signal from the auxiliary device. Thecomputing device can also store data that correlates the cellular phonewith a particular user. In this way, when the computing device detectsthe presence of the cellular phone via the near-field receiver, thecomputing device can operate according to certain preferences of thatparticular user. Similarly, in some embodiments, the computing devicecan include a WiFi receiver for connecting to a WiFi network. When thecomputing device and an auxiliary device associated with a particularuser are connected to the same WiFi network, the computing device canoperate according to certain preferences associated with that particularuser.

In some embodiments, the computing device can be connected to a homeWiFi network for use by the residents in the home and used by guests ofthe home. A guest that has not previously used the computing device inthe home can enter the home and be detected by the computing deviceaccording to any of the methods discussed herein. If the guest also hasa similar computing device that mimics interpersonal interactions (suchas those discussed herein), the computing device in the user's home canrecognize the guest and download the contact list of the guest.Thereafter, if a contact on the contact list of the guest is indicatedas being proximate to the contact's respective computing device, a videocommunications channel can be created between the user's computingdevice and the contact's computing device. The video communicationschannel can be created when the guest is proximate to the user'scomputing device simultaneous to the contact being proximate to thecontact's computing device. It should be noted that a user can beproximate to a computing device when the user is perceivable by thecomputing device through some medium, capacity, and/or method (someexamples include, but are not limited to, determining that the user'smobile device is connected to the computing device, determining that theuser's mobile device is connected to the same network as the computingdevice, the user has touched the computing device, the user has moved infront of a camera of the computing device, a heat signature of the userhas been identified by the computing device, the user has made a noisethat is perceived by the computing device, the computing device stores aschedule of a when the user is near the computing device, the computingdevice uses artificial intelligence and/or machine learning to predictwhen the user is near the computing device, and/or any other methodsuitable for determining that the user is near the computing device).The user can then participate in the video communications as well and begiven the option to add the contact and/or the guest to the user'scontact list if the contact and/or the guest are not already on theuser's contact list. In this way, a social network can be created bymimicking interpersonal communications using multiple computing devicesdiscussed herein.

In some embodiments, a user of the computing device can record a videomessage using the video camera of the computing device and the videomessage can be automatically transferred to a contact's computing devicewhen the contact (another user) is proximate to the contact's computingdevice. For example, the user can record a video message in the morningand designate, using the computing device, that video message for thecontact in the contact list stored by the computing device. The user canalso designate a time or period of time the video message is permittedto be transferred to the contact's computing device. Once the videomessage is recorded, the video message can be sent to the contact'scomputing device in response to the computing device receiving anindication from the contact's computing device that the contact isproximate to the contact's computing device. For example, if the contactwas away from their home (where the contact's computing device islocated) but returns in the evening, the contact will be greeted with avideo message from the user once the contact's computing devicedetermines that the contact is proximate to the contact's computingdevice. In other words, the contact's computing device will send thevideo message after the contact's computing device indicates, to theuser's computing device, that the contact is perceivable by thecontact's computing device in some capacity as discussed herein.

In some embodiments, a user can set a schedule of one or more times whenthe user is available for video communications. A period of availabilitycan be called a free period, which is when the computing device willattempt to perceive the user in order to trigger a video chat sessionwith a contact. A period of non-availability can be called a busy time,which is when the computing device is not attempting to perceive theuser. However, in some embodiments, a sampling rate of a sensor thatdetects the user can be higher during the free period and can be higherthan a sampling rate of the sensor during the busy period. Furthermore,the computing device can operate in a sleep mode during a busy periodand operate in an on mode during an on period. A sleep mode can be amode where at least one subsystem or portion of the computing device isnot operating, or operating less relative to its operation during the onmode. In some embodiments, the computing device can attempt to perceivethe user during the busy period but not send indications to othercomputing devices (i.e., contact computing devices). In this way, theuser would be able to receive video messages that were previouslyrecorded but not otherwise be bothered with potential video chatsessions. However, in some embodiments, the computing device can benotified of a contact's availability during the sleep mode. The user canthen choose to have a video chat session with the contact even duringthe busy period. In this way, the user can break from their busyschedule in order to have a video chat session with a contact, eventhough the time is supposed to be a busy period where the user is notsupposed to be bothered. In some embodiments, where multiple usersengage the same computing device (e.g., in a multi-person household witha single computing device), each user can have different scheduled freeperiods and different scheduled busy periods. For example, one person inthe household can designate to the computing device that they are freein the mornings while another person in the household can designate thatthey are busy in the mornings.

In some embodiments, the computing device can store a contact list thatincludes entries corresponding to contacts associated with a user of thecomputing device. The contacts can refer to other persons that havesimilar computing devices for performing video chat sessions with theuser. Each contact can be associated with a status or tag thatidentifies the relationship of the contact to the user. In someembodiments, contacts can have separate permissions. For example, afirst permission can be granted to contacts in order that video chatsessions can be established between the user and the contact withoutprompting or warning either the user or the contact. A second permissioncan be granted to contacts in order that video chat sessions can only beestablished once the user and the contact are perceived by theirrespective devices and they each acknowledge the start of the video chatsession. The second permission can be reserved for acquaintances orpersons that the user may not be entirely comfortable having a videochat session without a warning beforehand.

In some embodiments, a user can have computing device at their homeresidence and a portable computing device that also allows for videochat sessions as discussed herein. However, the computing device at theuser's home residence can be shared by others that reside in the homeresidence. The home computing device can have multiple different contactlists that are associated with each person in the residence. When theuser leaves the residence with their portable computing device, thecontact list corresponding to the user can be temporarily inaccessibleuntil the user returns to the home residence. As a result, anyone stillat the home residence will be notified when a contact, in theirrespective contact list, is being perceived by their respectivecomputing device. The home computing device can determine that theportable computing device is away from the home residence throughnotifications or signals that are sent from the portable computingdevice to the computing device, or to some other device that thecomputing device is connected to.

In some embodiments, the computing device can include a display panelthat can operate in a split screen configuration. When multiple usersare perceived by the computing device, and at least one contact per useris perceived by the contact's computing device, the computing device canoperate in a split screen mode to allow the multiple users to talk totheir contacts simultaneously. Additionally, if a first user isparticipating in a video chat session at the computing device with afirst contact, and a second user approaches the computing device at thesame time a second contact of the second user approaches the secondcontact's computing device, the video chat session can convert to asplit screen. In this way, the video chat session with the first usercan continue while also allowing another video chat session to occurbetween the second user and the second contact. The first user and thesecond user can decide to introduce the first contact and the secondcontact. An introduction can be performed by issuing a command to thecomputing device. The command can result in a prompt at the firstcontact's computing device and the second contact's computing device. Ifboth the first contact and the second contact accept the introductionthrough the prompt, the first contact and the second contact will alsohave a split screen at their respective device such that a three-wayvideo chat session is established between the first and second user'scomputing device, the first contact's computing device, and the secondcontact's computing device. The connection between the first contact'scomputing device and the second contact's computing device can end whenthe video chat session ends. Additionally, the first contact and thesecond contact can be prompted to add each other to their respectivecontact lists. In this way, the introduction would encourage thebuilding of a social network between users and contacts.

In some embodiments, the computing device can include a transparentdisplay panel. The transparent display panel can be arranged such thatat least some amount of light can be transmitted through opposingsurfaces of the display panel. For example, the computing device can bemounted in a window without completely obstructing a view of an area ofthe window covered by the display panel. Alternatively, the computingdevice can be mounted such that a user can optionally stand in front ofone side of the transparent display panel or an opposing side of thetransparent display panel, while still perceiving video output by thetransparent display panel. The computing device can perceive the userand determine the side of the display panel that the user is facing andorient images on the display panel such that the images appear accurateno matter the side that the user is facing.

In yet other embodiments, the computing device can operate in multipledifferent privacy modes. For example, the user can create a schedule forthe computing device that limits the computing device to transmittingaudio to other computing devices, rather than video data, during a videochat session. Alternatively, the computing device can operate in ablurry mode where the video images that are transmitted to othercomputing devices during a video chat session are blurry. Blurry videoimages can be entirely blurry or blurry in all areas of the video imagesexcept for a user's face. In this way, contact computing devices willnot be able to see the background of a user's video or identify otherpersons within the video. In other embodiments, a shower curtain effectcan be applied to the video images and hide a portion of the videoimages that the user is concealing. For example, the user can see avideo preview of themselves with an overlay or curtain that is at leastpartially transparent. The overlay can include a portion that does notconceal the user and is adjustable by motion of the user. In this way,the user is in control of how much another person can see in their videofeed.

Reference is now made in detail to the description of the embodiments asillustrated in the drawings. While several embodiments are described inconnection with these drawings, there is no intent to limit thedisclosure to the embodiment or embodiments disclosed herein. On thecontrary, the intent is to cover all alternatives, modifications, andequivalents.

FIG. 1 illustrates steps for initiating a video chat session between afirst user 112 and a second user 114. The video chat session can beperformed by a first device 106 associated with the first user 112 and asecond device 108 associated with the second user 114. The firstcomputing device 106 can be placed in a first location 102, such as aresidence of the first user 112, and the second computing device 108 canbe placed in a second location 104, such as a residence of the seconduser 114. In some embodiments, each of the first computing device 106and the second computing device 108 can be at least partiallytransparent, as indicated by wall corner 102A and wall corner 104A thatare at least partially visible through the first computing device 106and the second computing device 108. In other words, wall corner 102A ispart of the first location 102 and wall corner 104A is part of thesecond location 104A.

FIG. 1 includes a first diagram 100 that illustrates the first computingdevice 106 in the first location 102 and the second computing device 108in the second location 104. Each of the first computing device 106 andthe second computing device 108 can be connected to a wireless networksuch as a local area network or cellular network. A signal strength ofthe network can be illustrated on the display of the first computingdevice 106 and the second computing device 108, as illustrated by icons116. Each of the first computing device 106 and the second computingdevice 108 can attempt to perceive the first user 112 and the seconduser 114, respectively. Perceiving a user can be performed through oneor more sensors, or other device for detecting a change in theenvironment of a computing device. For example, a sensor can include acamera for capturing images. The captured images can be used by thecomputing device to determine whether a user has moved in front of thecomputing device.

As illustrated in diagram 110 (each diagram 100, 110, and 120 isindividually surrounded by dotted rectangle), the first user 112 and thesecond user 114 can simultaneously move proximate to their respectivecomputing device. As a result, each of the first computing device 106and the second computing device 108 can detect the first user 112 andthe second user 114, respectively. The first computing device 106 cansend a signal to the second computing device 108 indicating that thefirst user 112 has been perceived by the first computing device 106. Thesecond computing device 108 can also send a signal to the firstcomputing device 106 indicating that the second user 114 has beenperceived by the second computing device 108. In some embodiments, whenthe first computing device 106 receives the signal from the secondcomputing device 108, the first computing device 106 can display anindication 122, which indicates that the second user 114 has beenperceived by the second computing device 108. Additionally, when thesecond computing device 108 receives the signal from the first computingdevice 106, the second computing device 108 can display an indication124 indicating that the first user 112 has been perceived by the firstcomputing device 106. If the first user 112 and the second user 114 aresimultaneously perceived by their respective computing devices, a videocommunications channel can be created between the first computing device106 and the second computing device 108.

Diagram 120 illustrates a video chat session occurring as a result of avideo communications channel being created between the first computingdevice 106 and the second computing device 108. For example, it can beseen that the first user 112 is being depicted at the display of thefirst computing device 106 and the second user 114 is being depicted atthe display of the first computing device 106. In this way, audio andvideo data can be exchanged between the first location 102 and thesecond location 104. The operations of the first computing device 106and the second computing device 108 mimic inter-personal communicationsthat would otherwise occur if the first user 112 and the second user 114actually and physically walked by each other in the first location 102or the second location 104. Such operations can be hands-free for allparties involved with respect to a device, thereby also mimickingin-person inter-personal communications.

FIG. 2 illustrates a computing device 202 having features that can beincluded in any of the computing devices discussed herein. It should benoted that many features of the computing device 202 are not shown inorder to emphasize the features that can be useful for the systems,methods, and apparatus discussed herein. For example, the computingdevice 202 can include a memory 204 or memories 204 (i.e., one or morememory devices), in order to store information related to the operationof the computing device 202. The memories 204 can include one or morerandom access memories (RAMs) and/or one or more read only memories(ROMs). The computing device 202 can store authentication data 206,which can be used to create a secure connection with another computingdevice and/or authenticate a user of the computing device 202. Theauthentication data 206 can include tokens 210, which can be passed to asignaling server and/or another computing device in order to establish acommunications channel between the computing device 202 and anothercomputing device. The other computing device can also send a token tothe signaling server and/or the computing device 202 in order toestablish the connection. The authentication data 206 can also includeuser perception data 212. User perception data 212 can include data thatis collected about a user during operation of the computing device 202.For example, user perception data 212 can include data related to theface of a user, the sound of a user's voice, the motion of a user,appearance of the user, the clothes of a user, the schedule of a user,and/or any other information suitable for identifying a user. The userperception data 212 can be used to accurately perceive a user. Forexample, data related to the sound of a user's voice can be used todistinguish the user from other persons in the location where thecomputing device 202 is located. User perception data 212 such as facialrecognition data can also be used to distinguish the user from otherpersons in the location where the computing device is located. In someimplementations, the communications channel can be connected betweencomputing devices, prior to a video chat session being initialized, inorder to reduce latency from attempts to establish the communicationschannel. For instance, the communications channel can being used bymultiple computing devices 202 to exchange video data at a first bitrate, prior to users being present or perceived by the respectivecomputing devices. However, the video data can be hidden until (e.g.,each computing device can display an interface that conceals the videodata and/or a display panel of the computing device can operate in areduced power mode (reduced from or less than an amount of power that isconsumed during a video chat session). When the users are present orotherwise perceived by the respective computing devices, the video datacan be transmitted over the communications channel at a second bit ratethat is higher than the first bit rate. Furthermore, each of therespective computing devices can cease concealing the video data andpresent that the video data as a video stream at each display panel ofthe respective computing devices when the users are present or otherwiseperceived by the respective computing devices.

The memories 204 can also store a device identifier 214, whichidentifies the computing device 202. The device identifier 214 can bestored in a ROM of the memories 204. The device identifier 214 can be avalue that is constant for the lifetime of the computing device 202 or avalue that is programmable during the lifetime of the computing device202. The device identifier 214 can be sent with the token 210 to asignaling server or another computing device in order to create acommunications channel between the computing device 202 and anothercomputing device. The tokens 210 can be unique for each user of thecomputing device 202 and the device identifier 214 can be the same foreach user of the computing device 202. However, in some embodiments,both the tokens 210 and the device identifier 214 can be unique for eachuser of the computing device 202.

The memories 204 can also store schedules 208, which designate certaintimes when users are available to use the computing device 202. Eachuser of the computing device 202 can create a programmable schedule inorder that they will not disturbed by the computing device 202 duringcertain times of the day. For example, user_N can create auser_N_schedule 216, which can define a part of the day where user_N iseither available or not available for video communications with anotheruser. The schedules 208 can also define times when the user does notwant to be perceived by the computing device 202. This provides someamount of power savings for the computing device 202 because the one ormore sensors responsible for perceiving the user would not be consumingpower.

The memories 204 can also include contact lists 219, which can includeone or more user_N contact lists 220. Each user of the computing device202 can be associated with a different user_N contact list 220. In someembodiments, multiple users can be associated with a single user_Ncontact list 220. When the computing device 202 perceives a user, thecomputing device 202 can identify a contact list that is associated withthe user. Once the contact list is identified in the contact lists 218,the computing device 202 can determine whether the computing device 202has received any indications that other users on the identified contactlist has been perceived by their respective computing device. If anotheruser corresponds to an entry in the identified contact list and is hasalso been simultaneously perceived by their computing device when theuser is being perceived by the computing device 202, the computingdevice 202 can assist in creating a communications channel between theuser and the other user. One or more entries on a user_N contact list220 can include designations for the entries. The designations candefine a level of privacy for the user with respect to the contact inthe contact list. For example, a designation can be one or more ofmultiple designations that include: spouse, family, friend,acquaintance, co-worker, and/or any other designation that cancharacterize a relationship between two persons.

The memories 204 can also user preferences 222, and each user associatedwith the computing device 202 can setup a user_N preference 224 that isprogrammable over the lifetime of the computing device 202. The userpreferences 222 can include configuration data for operating thecomputing device 202 according the user that is operating the computingdevice 202 and/or the other user that may be communication to the userthrough a communications channel. For example, in some embodiments, alowest amount of privacy can be assigned to contacts in a contact listthat have been designated as a spouse. For the lowest amount of privacy,a video chat session between the user and the spouse contact can beinitiated without prompting or warning the user before the video chatsession begins. In other words, when the user and the spouse contact aresimultaneously perceived by their respective computing device, a videochat session between their respective computing devices can beautomatically created without prompt. Additionally, the lowest amount ofprivacy can include a preference for not requiring as much userperception data relative to other privacy settings. In this way, a videocommunications channel can be created between computing devices withoutindividually identifying each user, but rather only identifying that aperson is being perceived by each computing device.

Furthermore, in some embodiments, a higher amount of privacy, relativeto the lowest, can be assigned to contacts in a contact list that havebeen designated as friends. When a contact is designated as a friend,the computing device 202 can identify the identity of a user, ratherthan merely identifying the user as being a person. In this way, whenthe computing device 202 receives an indication that the first contacthas been perceived by their respective computing device, the computingdevice 202 will only participate a video chat session with the friendcontact if the user is identified. In other words, because the friendcontact is identified in a contact list of the user, the computingdevice 202 can be programmed to perceive a person and identify theperson as the user before participating in a video chat session with thefriend contact.

In some embodiments, a contact can be designated as an acquaintance,which can be a designation that corresponds to higher amount of privacythan a friend designation. A user preference corresponding to theacquaintance designation can direct the computing device 202 to not onlyidentify the identity of a user before participating in a video chatsession, but also alter or limit the data that is sent during the videochat session. For example, a video chat session with an acquaintancecontact can include video data that is altered to limit what can be seenin the video data (e.g., blurring the entire video transmission from theuser, blurring only the background of the video transmission from theuser but not blurring the user's person, not sending video data, and/orany other modification suitable for securing some amount of privacy fora user). In some embodiments, a user preference corresponding to theacquaintance designation can direct the computing device 202 to ask theuser to confirm the initiation of a video chat session before the videochat session with an acquaintance contact can begin. Furthermore, a userpreference corresponding to the acquaintance designation can direct thecomputing device 202 to give the user an amount of time beforeinitiating a video chat session with an acquaintance contact.Additionally, the user preference corresponding to the acquaintancedesignation can direct the computing device 202 to give the user anoption to decline the video chat session with the acquaintance contactafter being notified the user and acquaintance contact aresimultaneously being perceive by their respective computing devices.

FIG. 3 illustrates a table 300 of user privacy preferences 302 that canbe employed by any of the embodiments discussed herein. It should benoted that any of the embodiments can use more or less privacy levelsthan those provided in table 300. Table 300 provides three privacylevels: low (e.g., for spouses communicating over a communicationschannel), medium (e.g., for friends and/or family communicating over acommunications channel), and high (e.g., for acquaintances communicatingover a communications channel). The “user side” refers to theperspective of a user who is using a computing device that participatesin chat sessions and the “contact side” refers to the perspective of acontact of the user. A contact refers to a person that the user hasidentified in an entry of a contact list stored by user's computingdevice. A contact with a “low” privacy designation can participate in alow privacy level video chat session with the user. The low privacylevel video chat session means no warning will be provided before thevideo chat session and the user's computing device will not attempt toverify the identity of the user before participating in the video chatsession. The low privacy level is good for spouses that are morecomfortable chatting with their spouse without warning and would notworry about their spouse contact seeing other people in the video chatsession such as children or other friends.

A contact with a medium privacy designation can participate in a mediumprivacy level video chat session with the user. The medium privacy levelvideo chat session means no warning will be provided before the videochat session and the user's computing device will attempt to verify theidentity of the user before participating in the video chat session. Themedium privacy level is good for friends that are comfortable chattingwithout warning and have some concern about the contact accidentallychatting with other person's in the user's household. For example, theuser might live with other persons who also chat on the computing deviceand have a separate contact list. In order to avoid the other personschatting with the user's friends, the computing device can verify theuser's identity before participating in a video chat session with theuser's friend (i.e., a medium privacy level contact). A contact with ahigh privacy designation can participate in a high privacy level chatsession with the user. The high privacy level chat session means contentof the data stream to high privacy designated contact can be at leastpartially blocked. For example, if the user is participating in a chatsession with a high privacy designated contact, the data stream from theuser's computing device to the contact's computing device can include ablurry video stream or no video stream (just audio). Alternatively, thedata stream can include a blurry background video stream where thecontact is able to see the user's face and/or body with a blurrybackground. Additionally, the user's identify must be identified beforethe user's computing device can participate in a video chat session witha high privacy level contact. Additionally, the user can be given awarning and an option to decline participating in the chat session witha high privacy level contact. Furthermore, at the contact side of thehigh privacy level contact, the contact will be given the option todecline participating in the chat session and the contact's view of thedata stream from the user's computing device can be at least partiallyblocked. The user privacy preferences 302 can be stored by a user'scomputing device and be accessed in response to the user's computingdevice receiving an indication that a contact is being perceived by thecontact's computing device. The user's computing device can thatconfigure itself according to the privacy level that the user hasassigned to the contact that is being perceived by the contact'scomputing device.

FIG. 4 illustrates a diagram 400 of computing devices that are connectedas a peer to peer network for conducting a video chat session. Thediagram 400 includes a first computing device 402, a second computingdevice 414, and a third computing device 416. The first computing device402 can include an antenna 404 that is connected to a network interfaceof the first computing device 402. The first computing device 402 cancommunicate with the second computing device 414 and the third computingdevice 416 using the network interface and the antenna 404. The antenna404 can be used to send a device identifier and/or token(s) to thesecond computing device 414 and the third computing device 416. Thedevice identifier and/or token(s) can be used by other computing devicesin order to verify the authenticity of the first computing device 402and establish a communications channel with the first computing device402. The first computing device 402 can also include a camera 406. Thecamera 406 can be used to perceive a user at the first computing device402 and/or collect video data for transmission during a video chatsession. Additionally, the camera 406 can be programmed to periodicallycapture image data of the environment of the first computing device 402in order to determine whether a user is near the first computing device402.

During a video chat session, the first computing device 402 can displaya preview 408 of the video data that is being transmitted from the firstcomputing device 402 to the second computing device 414 and the thirdcomputing device 416. When the first computing device 402 isparticipating in a chat session with only the second computing device414, the first computing device 402 can display the preview 408 and afirst video data stream 410 received from the second computing device414. When the first computing device 402 is participating in a chatsession with the second computing device 414 and the third computingdevice 416, the first computing device 402 can display the preview 408,the first video data stream 410 corresponding to video data receivedfrom the second computing device 414, and a second video stream 412corresponding to video data received from the third computing device416. In some implementations, prior to conducting a video chat sessionbetween users, the first computing device 402 and the second computingdevice 414 can be exchanging video data through a peer to peerconnection. However, a display panel (e.g., a touch screen display) oruser interface of each of the first computing device 402 and the secondcomputing device 414 can be hide the video data (e.g., by not presentedthe video data or otherwise blocking the video data from being displayedat each display panel). In response to a user being perceived by each ofthe first computing device 402 and the second computing device 414respectively, the first computing device 402 and the second computingdevice 414 can cease blocking the video data from being displayed. Inthis way, latency from having to establish a connection for sharingvideo data can be avoided as there will always be some amount of videodata being shared between devices—the video data will just not bedisplayed until motion is simultaneously perceived by computing devices.In some implementations, the video data shared between the firstcomputing device 402 and the second computing device 414 can be providedat a first bit rate, prior to users being simultaneously perceived byrespective computing devices. Furthermore, the video data being sharedcan be hiding from each display panel of the respective computingdevices prior to the users being simultaneously perceived by therespective computing devices. In response to each user being perceivedat each respective computing device (the first computing device 402 andthe second computing device 414), a second bit rate, which is higherthan the first bit rate, can be employed for sending video data betweenthe respective devices. It should be noted that this method of hidingvideo data and modifying bit rates can be employed in any of theembodiments discussed herein, including embodiments that operate in, ornot in, a peer or peer architecture.

FIG. 5 illustrates a diagram 500 of computing devices that are connectedas a network for conducting a video chat session using a server 502. Thediagram 500 includes a first computing device 504, a second computingdevice 516, and a third computing device 518. The first computing device504 can include an antenna 506 that is connected to a network interfaceof the first computing device 504. The first computing device 504 cancommunicate with the server 502, and/or the second computing device 516and the third computing device 518 using the network interface and theantenna 404. The antenna 506 can be used to send a device identifierand/or token(s) to the server 502, and/or the second computing device516 and the third computing device 518. The device identifier and/ortoken(s) can be used by the server 502, and/or the second computingdevice 516 and the third computing device 518 in order to verify theauthenticity of the first computing device 402 and establish acommunications channel with the first computing device 504. The firstcomputing device 504 can also include a camera 508. The camera 508 canbe used to perceive a user at the first computing device 504 and/orcollect video data for transmission during a video chat session.Additionally, the camera 508 can be programmed to periodically captureimage data of the environment of the first computing device 504 in orderto determine whether a user is near the first computing device 504.During a video chat session, the first computing device 504 can displaya preview 510 of the video data that is being transmitted from the firstcomputing device 504 to the second computing device 516 and the thirdcomputing device 518. When the first computing device 504 isparticipating in a chat session with only the second computing device516, the first computing device 504 can display the preview 510 and afirst video data stream 514 received from the second computing device516. When the first computing device 504 is participating in a chatsession with the second computing device 516 and the third computingdevice 518, the first computing device 504 can display the preview 510,the first video data stream 514 corresponding to video data receivedfrom the second computing device 516, and a second video stream 512corresponding to video data received from the third computing device518. This can be referred to as a split screen where multiple videostreams are display simultaneously at a single display panel of acomputing device.

FIG. 6 illustrates a method 600 for creating a video chat sessionbetween at least two computing devices, according to some embodiments.As shown, the method 600 begins at step 602, where a first computingdevice perceives a first user. At step 604, the first computing devicereceives a signal that indicates that a second user has been perceivedby a second computing device. At step 606, the first computing devicehelps to establish a communications channel between the first computingdevice and the second computing device. At step 608, the first computingparticipates in a video chat session between the first computing deviceand the second computing device. In some embodiments, step 602 and step604 must occur within a threshold period of time before the method canproceed to step 606. The threshold period of time can be set by one orboth of the first computing device and the second computing device, or asignaling server that is communicatively coupled to the first computingdevice and the second computing device. Additionally, the method 600 caninclude an optional step of, in response to the first computing deviceperceiving the first user, the first computing device sending a signalto indicate that the first computing device has perceived the firstuser. The signal from the first computing device can be sent to thesignaling server and/or the second computing device.

FIG. 7 illustrates a method 700 for connecting a first computing deviceand a second computing device, according to some embodiments. As shown,the method 700 begins at step 702, where the first computing devicedetermines whether a current time is within a time schedule stored bythe first computing device for perceiving a first user. If the currenttime is not within a time schedule for perceiving the first user, timewill continue until the current time is within the stored time schedule.If the current time is within the time schedule for perceiving the firstuser, then, at step 704, the first computing device attempts to perceivethe first user.

At step 706, the first computing device determines whether has the firstuser been perceived and/or identified by the first computing device. If,at step 706, the first computing device determines the first user hasbeen perceived and/or identified by the first computing device, then themethod 700 proceeds to step 708. Otherwise, the first computing devicewill continue to attempt to perceive the first user.

At step 708, the first computing device determines whether a signal beenreceived that indicates a second user has been perceived by a secondcomputing device. If, at step 708, the first computing device determinesthat a signal has been received that indicates a second user has beenperceived by a second computing device, then the method 700 proceeds tostep 710. Otherwise, the method 700 will not proceed to step 710 untilthe signal is received. Furthermore, method 700 can return to step 702when the current time is no longer within a time scheduled forperceiving the first user. Additionally, the method 700 can return tostep 704 when the first user is no longer perceived by the firstcomputing device. At step 710, the first computing device can connect toa communications channel with the second computing device. Thecommunications channel can refer to a pier to pier connection betweenthe first computing device and the second computing device. Thecommunications channel can also refer to a connection to a server thatis also connected to the second computing device.

FIG. 8 illustrates a method 800 for meeting a new contact through athree-way chat session and amending a contact list to include the newcontact, according to some embodiments. As shown, the method 800 beginsat step 802, where the first computing device participates in a chatsession with a second computing device. At step 804, the first computingdevice receives a request to join a third computing device to the chatsession. The third computing device can be associated with a contactentry stored by the second computing device. At step 806, the firstcomputing device participates in a modified chat session that includesthe first computing device, the second computing device, and the thirdcomputing device. At step 808, the first computing device receives arequest to add a new entry corresponding to the third computing deviceto a contact list stored by the first computing device. At step 810, thefirst computing device adds the new entry corresponding to the thirdcomputing device to a contact list stored by the first computing device.

FIG. 9 illustrates a method 900 for participating in a combined chatsession between three or more computing devices, according to someembodiments. As shown, the method 900 begins at step 902, where thefirst computing device participates in a first chat session between afirst user and a second user, the second user associated with a secondcomputing device. At step 904, the first computing device determinesthat a third user is being perceived by the first computing device. Atstep 906, the first computing device receives an indication that afourth user associated with a contact entry in the third user's contactlist, stored by the first computing device, has been or is beingperceived by a third computing device. At step 908, the first computingdevice participates in a second chat session between the third user andthe fourth user using a communications channel between the first and thethird computing devices. For example, when the first chat session andthe second chat sessions are video chat sessions, the display panel ofthe first computing device can show a split screen. One portion of thesplit screen can show a first video feed from the second computingdevice and another portion of the split screen can show a second videofeed from the third computing device. At step 910, the first computingdevice participates in a combined chat session between the first user,the second user, the third user, and the fourth user. The combined chatsession can include connections between the first computing device andsecond computing device, and the first computing device and the thirdcomputing device. It should be noted that one or more of the“participate” steps (e.g., 902, 908, and 910) of method 900 can bepreceded by a step of receiving and/or sending a request at the firstcomputing device and/or accepting a request at the first computingdevice, where each request and/or acceptance is associated withperforming the proceeding “participate” step. For example, the firstcomputing device can send a request to the third computing device and/orthe second computing device to participate in the combined chat session.

FIG. 10 illustrates a method 1000 for participating in a chat sessionbased on a privacy preference associated with a contact userparticipating in the chat session, according to some embodiments. Asshown, the method 10 begins at step 1002, where the first computingdevice perceives a first user. At step 1004, the first computing devicereceives a signal that indicates that a second user has been perceivedby a second computing device. At step 1006, the first computing deviceidentifies a privacy preference stored by the first computing device inassociation with a contact entry corresponding to the second user. Atstep 1008, the first computing device connects to a communicationschannel between the first computing device and the second computingdevice. At step 1010, the first computing device participates in a chatsession between the first computing device and the second computingdevice in accordance with the privacy preference. For example, theprivacy preference can include any of the privacy preferences or privacysettings discussed herein. The privacy preference can include any typeof privacy setting suitable for protecting a user's privacy during achat session between two or more computing devices.

FIG. 11 is a block diagram of a computing device 1100 that can representthe components of the computing device, apparatus, mobile device, or anyof the devices or apparatus discussed herein. It will be appreciatedthat the components, devices or elements illustrated in and describedwith respect to FIG. 11 may not be mandatory and thus some may beomitted in certain embodiments. The computing device 1100 can include aprocessor 1102 that represents a microprocessor, a coprocessor,circuitry and/or a controller for controlling the overall operation ofcomputing device 1100. Although illustrated as a single processor, itcan be appreciated that the processor 1102 can include a plurality ofprocessors. The plurality of processors can be in operativecommunication with each other and can be collectively configured toperform one or more functionalities of the computing device 1100 asdescribed herein. In some embodiments, the processor 1102 can beconfigured to execute instructions that can be stored at the computingdevice 1100 and/or that can be otherwise accessible to the processor1102. As such, whether configured by hardware or by a combination ofhardware and software, the processor 1102 can be capable of performingoperations and actions in accordance with embodiments described herein.

The computing device 1100 can also include user input device 1104 thatallows a user of the computing device 1100 to interact with thecomputing device 1100. For example, user input device 1104 can take avariety of forms, such as a button, keypad, dial, touch screen, audioinput interface, visual/image capture input interface, input in the formof sensor data, etc. Still further, the computing device 1100 caninclude a display 1108 (screen display) that can be controlled byprocessor 1102 to display information to a user. Controller 1110 can beused to interface with and control different equipment through equipmentcontrol bus 1112. The computing device 1100 can also include anetwork/bus interface 1114 that couples to data link 1116. Data link1116 can allow the computing device 1100 to couple to a host computer orto accessory devices. The data link 1116 can be provided over a wiredconnection or a wireless connection. In the case of a wirelessconnection, network/bus interface 1114 can include a wirelesstransceiver.

The computing device 1100 can also include a storage device 1118, whichcan have a single disk or a plurality of disks (e.g., hard drives) and astorage management module that manages one or more partitions (alsoreferred to herein as “logical volumes”) within the storage device 1118.In some embodiments, the storage device 1118 can include flash memory,semiconductor (solid state) memory or the like. Still further, thecomputing device 1100 can include Read-Only Memory (ROM) 1120 and RandomAccess Memory (RAM) 1122. The ROM 1120 can store programs, code,instructions, utilities or processes to be executed in a non-volatilemanner. The RAM 1122 can provide volatile data storage, and storeinstructions related to components of the storage management module thatare configured to carry out the various techniques described herein. Thecomputing device 1100 can further include data bus 1124. Data bus 1124can facilitate data and signal transfer between at least processor 1102,controller 1110, network interface 1114, storage device 1118, ROM 1120,and RAM 1122.

The various aspects, embodiments, implementations or features of thedescribed embodiments can be used separately or in any combination.Various aspects of the described embodiments can be implemented bysoftware, hardware or a combination of hardware and software. Thedescribed embodiments can also be embodied as computer readable code ona computer readable storage medium. The computer readable storage mediumcan be any data storage device that can store data which can thereafterbe read by a computer system. Examples of the computer readable storagemedium include read-only memory, random-access memory, CD-ROMs, HDDs,DVDs, magnetic tape, and optical data storage devices. The computerreadable storage medium can also be distributed over network-coupledcomputer systems so that the computer readable code is stored andexecuted in a distributed fashion. In some embodiments, the computerreadable storage medium can be non-transitory.

The foregoing description, for purposes of explanation, used specificnomenclature to provide a thorough understanding of the describedembodiments. However, it will be apparent to one skilled in the art thatthe specific details are not required in order to practice the describedembodiments. Thus, the foregoing descriptions of the specificembodiments described herein are presented for purposes of illustrationand description. They are not target to be exhaustive or to limit theembodiments to the precise forms disclosed. It will be apparent to oneof ordinary skill in the art that many modifications and variations arepossible in view of the above teachings.

What is claimed is:
 1. A method for connecting a first computing device to a second computing device through a network connection when motions are simultaneously detected by the first computing device and the second computing device, respectively, the method comprising operations that include: by the first computing device: communicating, via a video communications channel between the first computing device and the second computing device, to the second computing device in response to a first environmental change affecting a first sensor of the first computing device simultaneous to a second environmental change affecting a second sensor of the second computing device, wherein the first computing device communicates with the second computing device via the video communications channel based on detection of the first environmental change affecting the first sensor simultaneous to the second environmental change affecting the second sensor.
 2. The method of claim 1, wherein the first sensor is a video camera and the environmental change is motion that occurs in a field of view where the video camera is facing.
 3. The method of claim 1, wherein the operations further include: storing an editable contact list that is configured to include entries that identify the second computing device and a third computing device; receiving an indication that a third sensor of the third computing device has detected an environmental change; and creating a video communications channel between the first computing device and the third computing device, wherein the first computing device simultaneously shares video data with the second computing device and the third computing device.
 4. The method of claim 1, wherein the operations further include: receiving a request to add an entry to a contact list stored by the first computing device, the entry corresponding to a contact name stored by the second computing device.
 5. The method of claim 1, wherein the first computing device can include a wireless transmitter for connecting to an auxiliary device associated with a user of the first computing device, and the operations further include: increasing a sampling rate of the first sensor in response to the auxiliary device connecting to the wireless transmitter.
 6. The method of claim 1, wherein the first computing device can include a wireless transmitter for connecting to a wireless network, and the operations further include: increasing a sampling rate of the first sensor when an auxiliary device, associated with a user of the first computing device, is connected to the wireless network.
 7. The method of claim 1, wherein the first computing device can include a wireless transmitter for connecting to a wireless network, and the operations further include: increasing a sampling rate of the first sensor when an auxiliary device, associated with a user of the first computing device, is connected to the wireless network.
 8. The method of claim 1, wherein the first computing device can include an at least partially transparent display panel, and the operations further include: decreasing a transparency of the display panel when video data is transmitted over the video communications channel.
 9. The method of claim 1, wherein the first computing device can include an at least partially transparent display panel such that light can at least partially traverse a width of the first computing device, and the operations further include: modifying an orientation of video data displayed at the at least partially transparent display panel according to a perceived location of the first user relative to the at least partially transparent display panel.
 10. The method of claim 1, wherein the first computing device includes an at least partially transparent display panel that is arranged such that at least some amount of light can be transmitted through an entire width of the display panel.
 11. The method of claim 10, further comprising: determining a side of the display panel that the user is facing, and causing images to be oriented on the display panel based on the side of the display panel that the user is facing.
 12. A first computing device, comprising: one or more processors; and memory configured to stored instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations of claim
 1. 13. The computing device of claim 12, wherein the first computing device includes an at least partially transparent display panel that is arranged such that at least some amount of light can be transmitted through an entire width of the display panel.
 14. The computing device of claim 12, wherein the first computing device can include a wireless transmitter for connecting to an auxiliary device associated with a user of the first computing device, and the operations further include: increasing a sampling rate of the first sensor in response to the auxiliary device connecting to the wireless transmitter.
 15. One or more non-transitory computer-readable mediums configured to stored instructions that, when executed by the one or more processors of a first computing device, cause the one or more processors to perform the operations of claim
 1. 16. The one or more non-transitory computer-readable mediums of claim 15, wherein the first computing device includes an at least partially transparent display panel that is arranged such that at least some amount of light can be transmitted through an entire width of the display panel.
 17. The one or more non-transitory computer-readable mediums of claim 15, wherein the first computing device can include a wireless transmitter for connecting to an auxiliary device associated with a user of the first computing device, and the operations further include: increasing a sampling rate of the first sensor in response to the auxiliary device connecting to the wireless transmitter. 